Ejercicio 1

rm(list = ls())
library(sf)
## Linking to GEOS 3.12.1, GDAL 3.8.4, PROJ 9.3.1; sf_use_s2() is TRUE
linkWorld_gpkg="https://github.com/krlos20203563/ASIE_2024-1/raw/main/data_TA2/maps/worldMap.gpkg"
sf::st_layers(linkWorld_gpkg)
## Driver: GPKG 
## Available layers:
##       layer_name geometry_type features fields crs_name
## 1 countryBorders                    252      1   WGS 84
## 2     riverLines                     98      2   WGS 84
## 3     cityPoints         Point      610      3   WGS 84
countries=read_sf(linkWorld_gpkg,layer="countryBorders")
rivers=read_sf(linkWorld_gpkg,layer="riverLines")
cities=read_sf(linkWorld_gpkg,layer="cityPoints")

##Mapa del mundo

library(plotly)
## Cargando paquete requerido: ggplot2
## 
## Adjuntando el paquete: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
baseLayer <- plot_ly() %>%
  add_sf(data = countries, fill = I('grey90'), color = I('black'), name = 'Countries', text = ~COUNTRY, hoverinfo = 'text')

final <- baseLayer %>%
  add_sf(data = rivers, color = I('blue'), name = 'Rivers', text = ~NAME, hoverinfo = 'text', inherit = FALSE) %>%
  add_sf(data = cities, color = I('red'), name = 'Cities', text = ~NAME, hoverinfo = 'text', inherit = FALSE) %>%
  layout(
    title = 'Mapa interactivo',
    xaxis = list(title = 'Longitud'),
    yaxis = list(title = 'Latitud'),
    plot_bgcolor = 'lightgrey'
  )

final
## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plotly.com/r/reference/#scatter

Ejercicio 2

library(sf)
peru_gpkg="https://github.com/krlos20203563/ASIE_2024-1/raw/main/data_TA2/maps/peru.gpkg"
sf::st_layers(peru_gpkg)
## Driver: GPKG 
## Available layers:
##    layer_name geometry_type features fields crs_name
## 1 peruBorders       Polygon        1      1   WGS 84
## 2  peruRivers                      5      2   WGS 84
## 3  peruCities         Point        8      3   WGS 84
library(sf)
peru=read_sf(peru_gpkg,layer="peruBorders")
peru_rivers=read_sf(peru_gpkg,layer="peruRivers")
peru_cities=read_sf(peru_gpkg,layer="peruCities")

Mapa del Perú

basePeru <- plot_ly() %>%
  add_sf(data = peru, fill = I('grey90'), color = I('black'), name = 'Countries', text = ~COUNTRY, hoverinfo = 'text')

peruMap <- basePeru %>%
  add_sf(data = peru_rivers, color = I('blue'), name = 'Rivers', text = ~NAME, hoverinfo = 'text', inherit = FALSE) %>%
  add_sf(data = peru_cities, color = I('red'), name = 'Cities', text = ~NAME, hoverinfo = 'text', inherit = FALSE) %>%
  layout(
    title = 'Mapa interactivo',
    xaxis = list(title = 'Longitud'),
    yaxis = list(title = 'Latitud'),
    plot_bgcolor = 'lightgrey'
  )

peruMap
## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plotly.com/r/reference/#scatter

#Ejercicio 3

link_rpy_gpkg="https://github.com/SocialAnalytics-StrategicIntelligence/GeoDFBasics_py/raw/main/maps/peruMap_5389.gpkg"
sf::st_layers(link_rpy_gpkg)
## Driver: GPKG 
## Available layers:
##   layer_name geometry_type features fields              crs_name
## 1   airports         Point      197     18 Peru96 / UTM zone 19S
## 2     border       Polygon        1      1 Peru96 / UTM zone 19S
## 3     rivers                      5      2 Peru96 / UTM zone 19S
## 4     cities         Point        8      3 Peru96 / UTM zone 19S
peru_rep=read_sf(link_rpy_gpkg,layer="border")
peru_rivers_rep=read_sf(link_rpy_gpkg,layer="rivers")
peru_cities_rep=read_sf(link_rpy_gpkg,layer="cities")
peru_airports=read_sf(link_rpy_gpkg,layer="airports")

Mapa del Perú con aeropuertos

base_PE_aeropuertos <- plot_ly() %>%
  add_sf(data = peru_rep, fill = I('grey90'), color = I('black'), name = 'Countries', text = ~COUNTRY, hoverinfo = 'text')

peruMap_air <- base_PE_aeropuertos %>%
  add_sf(data = peru_rivers_rep, color = I('blue'), name = 'Rivers', text = ~NAME, hoverinfo = 'text', inherit = FALSE) %>%
  add_sf(data = peru_cities_rep, color = I('red'), name = 'Cities', text = ~NAME, hoverinfo = 'text', inherit = FALSE) %>%
  add_sf(data = peru_airports, color = I('green'), name = 'Airports', text = ~name, hoverinfo = 'text', inherit = FALSE) %>%
  layout(
    title = 'Mapa interactivo',
    xaxis = list(title = 'Longitud'),
    yaxis = list(title = 'Latitud'),
    plot_bgcolor = 'lightgrey'
  )

peruMap_air
## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plotly.com/r/reference/#scatter

Ejercicio 4

https://github.com/krlos20203563/ASIE_2024-1/raw/main/data_TA2/maps/america_frag.gpkg

library(sf)
america_gpkg="https://github.com/krlos20203563/ASIE_2024-1/raw/main/data_TA2/maps/america_frag.gpkg"
sf::st_layers(america_gpkg)
## Driver: GPKG 
## Available layers:
##   layer_name geometry_type features fields crs_name
## 1  fragility                    340     35   WGS 84
america=read_sf(america_gpkg,layer="fragility")
centroids <- st_centroid(america)
## Warning: st_centroid assumes attributes are constant over geometries
ggplot(data = america) +
  geom_sf() +
  geom_sf(data = centroids, aes(color = Total_ei5_cat), size = 3) +
  scale_color_viridis_d(name = "Fragility (Total_ei5)") +
  theme_minimal() +
  labs(title = "Fragility of American Countries (2020)")

LS0tDQp0aXRsZTogIlRhcmVhIDIiDQphdXRob3I6ICJDYXJsb3MgQ3Jlc3DDrW4iDQpkYXRlOiAiYHIgZm9ybWF0KFN5cy50aW1lKCksICclZCAlQiAlWScpYCINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICBjb2xsYXBzZWQ6IGZhbHNlDQogICAgbnVtYmVyX3NlY3Rpb25zOiBmYWxzZQ0KICAgIHRvY19kZXB0aDogMw0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICB0aGVtZTogZmxhdGx5DQogICAgaGlnaGxpZ2h0OiB0ZXh0bWF0ZQ0KLS0tDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQ0KYGBgDQoNCg0KIyBFamVyY2ljaW8gMQ0KYGBge3J9DQpybShsaXN0ID0gbHMoKSkNCmxpYnJhcnkoc2YpDQpsaW5rV29ybGRfZ3BrZz0iaHR0cHM6Ly9naXRodWIuY29tL2tybG9zMjAyMDM1NjMvQVNJRV8yMDI0LTEvcmF3L21haW4vZGF0YV9UQTIvbWFwcy93b3JsZE1hcC5ncGtnIg0Kc2Y6OnN0X2xheWVycyhsaW5rV29ybGRfZ3BrZykNCmBgYA0KDQpgYGB7cn0NCmNvdW50cmllcz1yZWFkX3NmKGxpbmtXb3JsZF9ncGtnLGxheWVyPSJjb3VudHJ5Qm9yZGVycyIpDQpyaXZlcnM9cmVhZF9zZihsaW5rV29ybGRfZ3BrZyxsYXllcj0icml2ZXJMaW5lcyIpDQpjaXRpZXM9cmVhZF9zZihsaW5rV29ybGRfZ3BrZyxsYXllcj0iY2l0eVBvaW50cyIpDQpgYGANCg0KIyNNYXBhIGRlbCBtdW5kbw0KYGBge3J9DQpsaWJyYXJ5KHBsb3RseSkNCg0KYmFzZUxheWVyIDwtIHBsb3RfbHkoKSAlPiUNCiAgYWRkX3NmKGRhdGEgPSBjb3VudHJpZXMsIGZpbGwgPSBJKCdncmV5OTAnKSwgY29sb3IgPSBJKCdibGFjaycpLCBuYW1lID0gJ0NvdW50cmllcycsIHRleHQgPSB+Q09VTlRSWSwgaG92ZXJpbmZvID0gJ3RleHQnKQ0KDQpmaW5hbCA8LSBiYXNlTGF5ZXIgJT4lDQogIGFkZF9zZihkYXRhID0gcml2ZXJzLCBjb2xvciA9IEkoJ2JsdWUnKSwgbmFtZSA9ICdSaXZlcnMnLCB0ZXh0ID0gfk5BTUUsIGhvdmVyaW5mbyA9ICd0ZXh0JywgaW5oZXJpdCA9IEZBTFNFKSAlPiUNCiAgYWRkX3NmKGRhdGEgPSBjaXRpZXMsIGNvbG9yID0gSSgncmVkJyksIG5hbWUgPSAnQ2l0aWVzJywgdGV4dCA9IH5OQU1FLCBob3ZlcmluZm8gPSAndGV4dCcsIGluaGVyaXQgPSBGQUxTRSkgJT4lDQogIGxheW91dCgNCiAgICB0aXRsZSA9ICdNYXBhIGludGVyYWN0aXZvJywNCiAgICB4YXhpcyA9IGxpc3QodGl0bGUgPSAnTG9uZ2l0dWQnKSwNCiAgICB5YXhpcyA9IGxpc3QodGl0bGUgPSAnTGF0aXR1ZCcpLA0KICAgIHBsb3RfYmdjb2xvciA9ICdsaWdodGdyZXknDQogICkNCg0KZmluYWwNCmBgYA0KDQoNCiMgRWplcmNpY2lvIDINCg0KYGBge3J9DQpsaWJyYXJ5KHNmKQ0KcGVydV9ncGtnPSJodHRwczovL2dpdGh1Yi5jb20va3Jsb3MyMDIwMzU2My9BU0lFXzIwMjQtMS9yYXcvbWFpbi9kYXRhX1RBMi9tYXBzL3BlcnUuZ3BrZyINCnNmOjpzdF9sYXllcnMocGVydV9ncGtnKQ0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeShzZikNCnBlcnU9cmVhZF9zZihwZXJ1X2dwa2csbGF5ZXI9InBlcnVCb3JkZXJzIikNCnBlcnVfcml2ZXJzPXJlYWRfc2YocGVydV9ncGtnLGxheWVyPSJwZXJ1Uml2ZXJzIikNCnBlcnVfY2l0aWVzPXJlYWRfc2YocGVydV9ncGtnLGxheWVyPSJwZXJ1Q2l0aWVzIikNCmBgYA0KDQojIyBNYXBhIGRlbCBQZXLDug0KYGBge3J9DQpiYXNlUGVydSA8LSBwbG90X2x5KCkgJT4lDQogIGFkZF9zZihkYXRhID0gcGVydSwgZmlsbCA9IEkoJ2dyZXk5MCcpLCBjb2xvciA9IEkoJ2JsYWNrJyksIG5hbWUgPSAnQ291bnRyaWVzJywgdGV4dCA9IH5DT1VOVFJZLCBob3ZlcmluZm8gPSAndGV4dCcpDQoNCnBlcnVNYXAgPC0gYmFzZVBlcnUgJT4lDQogIGFkZF9zZihkYXRhID0gcGVydV9yaXZlcnMsIGNvbG9yID0gSSgnYmx1ZScpLCBuYW1lID0gJ1JpdmVycycsIHRleHQgPSB+TkFNRSwgaG92ZXJpbmZvID0gJ3RleHQnLCBpbmhlcml0ID0gRkFMU0UpICU+JQ0KICBhZGRfc2YoZGF0YSA9IHBlcnVfY2l0aWVzLCBjb2xvciA9IEkoJ3JlZCcpLCBuYW1lID0gJ0NpdGllcycsIHRleHQgPSB+TkFNRSwgaG92ZXJpbmZvID0gJ3RleHQnLCBpbmhlcml0ID0gRkFMU0UpICU+JQ0KICBsYXlvdXQoDQogICAgdGl0bGUgPSAnTWFwYSBpbnRlcmFjdGl2bycsDQogICAgeGF4aXMgPSBsaXN0KHRpdGxlID0gJ0xvbmdpdHVkJyksDQogICAgeWF4aXMgPSBsaXN0KHRpdGxlID0gJ0xhdGl0dWQnKSwNCiAgICBwbG90X2JnY29sb3IgPSAnbGlnaHRncmV5Jw0KICApDQoNCnBlcnVNYXANCmBgYA0KDQoNCg0KI0VqZXJjaWNpbyAzDQoNCmBgYHtyfQ0KbGlua19ycHlfZ3BrZz0iaHR0cHM6Ly9naXRodWIuY29tL1NvY2lhbEFuYWx5dGljcy1TdHJhdGVnaWNJbnRlbGxpZ2VuY2UvR2VvREZCYXNpY3NfcHkvcmF3L21haW4vbWFwcy9wZXJ1TWFwXzUzODkuZ3BrZyINCnNmOjpzdF9sYXllcnMobGlua19ycHlfZ3BrZykNCmBgYA0KDQpgYGB7cn0NCnBlcnVfcmVwPXJlYWRfc2YobGlua19ycHlfZ3BrZyxsYXllcj0iYm9yZGVyIikNCnBlcnVfcml2ZXJzX3JlcD1yZWFkX3NmKGxpbmtfcnB5X2dwa2csbGF5ZXI9InJpdmVycyIpDQpwZXJ1X2NpdGllc19yZXA9cmVhZF9zZihsaW5rX3JweV9ncGtnLGxheWVyPSJjaXRpZXMiKQ0KcGVydV9haXJwb3J0cz1yZWFkX3NmKGxpbmtfcnB5X2dwa2csbGF5ZXI9ImFpcnBvcnRzIikNCmBgYA0KDQojIyBNYXBhIGRlbCBQZXLDuiBjb24gYWVyb3B1ZXJ0b3MNCg0KYGBge3J9DQpiYXNlX1BFX2Flcm9wdWVydG9zIDwtIHBsb3RfbHkoKSAlPiUNCiAgYWRkX3NmKGRhdGEgPSBwZXJ1X3JlcCwgZmlsbCA9IEkoJ2dyZXk5MCcpLCBjb2xvciA9IEkoJ2JsYWNrJyksIG5hbWUgPSAnQ291bnRyaWVzJywgdGV4dCA9IH5DT1VOVFJZLCBob3ZlcmluZm8gPSAndGV4dCcpDQoNCnBlcnVNYXBfYWlyIDwtIGJhc2VfUEVfYWVyb3B1ZXJ0b3MgJT4lDQogIGFkZF9zZihkYXRhID0gcGVydV9yaXZlcnNfcmVwLCBjb2xvciA9IEkoJ2JsdWUnKSwgbmFtZSA9ICdSaXZlcnMnLCB0ZXh0ID0gfk5BTUUsIGhvdmVyaW5mbyA9ICd0ZXh0JywgaW5oZXJpdCA9IEZBTFNFKSAlPiUNCiAgYWRkX3NmKGRhdGEgPSBwZXJ1X2NpdGllc19yZXAsIGNvbG9yID0gSSgncmVkJyksIG5hbWUgPSAnQ2l0aWVzJywgdGV4dCA9IH5OQU1FLCBob3ZlcmluZm8gPSAndGV4dCcsIGluaGVyaXQgPSBGQUxTRSkgJT4lDQogIGFkZF9zZihkYXRhID0gcGVydV9haXJwb3J0cywgY29sb3IgPSBJKCdncmVlbicpLCBuYW1lID0gJ0FpcnBvcnRzJywgdGV4dCA9IH5uYW1lLCBob3ZlcmluZm8gPSAndGV4dCcsIGluaGVyaXQgPSBGQUxTRSkgJT4lDQogIGxheW91dCgNCiAgICB0aXRsZSA9ICdNYXBhIGludGVyYWN0aXZvJywNCiAgICB4YXhpcyA9IGxpc3QodGl0bGUgPSAnTG9uZ2l0dWQnKSwNCiAgICB5YXhpcyA9IGxpc3QodGl0bGUgPSAnTGF0aXR1ZCcpLA0KICAgIHBsb3RfYmdjb2xvciA9ICdsaWdodGdyZXknDQogICkNCg0KcGVydU1hcF9haXINCmBgYA0KDQojIEVqZXJjaWNpbyA0DQoNCg0KaHR0cHM6Ly9naXRodWIuY29tL2tybG9zMjAyMDM1NjMvQVNJRV8yMDI0LTEvcmF3L21haW4vZGF0YV9UQTIvbWFwcy9hbWVyaWNhX2ZyYWcuZ3BrZw0KYGBge3J9DQpsaWJyYXJ5KHNmKQ0KYW1lcmljYV9ncGtnPSJodHRwczovL2dpdGh1Yi5jb20va3Jsb3MyMDIwMzU2My9BU0lFXzIwMjQtMS9yYXcvbWFpbi9kYXRhX1RBMi9tYXBzL2FtZXJpY2FfZnJhZy5ncGtnIg0Kc2Y6OnN0X2xheWVycyhhbWVyaWNhX2dwa2cpDQpgYGANCg0KYGBge3J9DQphbWVyaWNhPXJlYWRfc2YoYW1lcmljYV9ncGtnLGxheWVyPSJmcmFnaWxpdHkiKQ0KYGBgDQoNCmBgYHtyfQ0KY2VudHJvaWRzIDwtIHN0X2NlbnRyb2lkKGFtZXJpY2EpDQpgYGANCmBgYHtyfQ0KZ2dwbG90KGRhdGEgPSBhbWVyaWNhKSArDQogIGdlb21fc2YoKSArDQogIGdlb21fc2YoZGF0YSA9IGNlbnRyb2lkcywgYWVzKGNvbG9yID0gVG90YWxfZWk1X2NhdCksIHNpemUgPSAzKSArDQogIHNjYWxlX2NvbG9yX3ZpcmlkaXNfZChuYW1lID0gIkZyYWdpbGl0eSAoVG90YWxfZWk1KSIpICsNCiAgdGhlbWVfbWluaW1hbCgpICsNCiAgbGFicyh0aXRsZSA9ICJGcmFnaWxpdHkgb2YgQW1lcmljYW4gQ291bnRyaWVzICgyMDIwKSIpDQpgYGANCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg==